This invention generally relates to using software applications in network management.
Computer networks are becoming increasingly complex and difficult to manage. This is driven in part by the ever-increasing variety of network devices, computers, and software being combined together to integrate large enterprise-based intranets with the Internet. Network management tools have been produced to monitor these complex combinations of hardware and software and help troubleshoot network failures when they occur.
Traditional network management tools use a protocol called simple network management protocol (SNMP) to monitor network devices such as routers, switches, hubs, remote access devices, or even computers in a network. The protocol used to interface with SNMP includes rudimentary commands to operate on data such as to xe2x80x9cgetxe2x80x9d a variable, xe2x80x9csetxe2x80x9d a variable, or xe2x80x9ctestxe2x80x9d a variable.
Having just a few simple commands make it difficult to perform network management tasks. Specifically, it can be difficult using these basic commands to develop sophisticated network management applications to monitor and troubleshoot a network. Each task may need to be customized to the parameters and capabilities of each network device. Further, a network management task sending combinations of these commands to one or more network devices connected to the network may wait a significant period of time for all the necessary results to be returned. Network delays can be caused by network congestion and the unique processing bottlenecks associated with each network device.
Improvements to the SNMP network management language must remain compatible with legacy network devices and the versions of SNMP used on these network devices. Unfortunately, it is difficult to greatly improve SNMP or other network management languages without rendering legacy network devices incompatible with the resulting upgraded systems.
In one aspect of the present invention, a method processes an object-oriented application on a target network device, by identifying a proxy network device capable of processing the object-oriented application, transmitting the object-oriented application to the proxy network device, generating one or more non-object-oriented instructions using the proxy network device corresponding to the object-oriented application, and transmitting the non-object-oriented instructions generated using the proxy network device to the target network device for processing.
In another aspect of the invention, a system for processing an object-oriented application capable of performing one or more operations, includes a target network device capable of processing non-object-oriented instructions and sending information across a network, a proxy network device capable of processing the object-oriented instructions of the object-oriented application and converting the object-oriented instructions into non-object oriented instructions that the target network device can process, and a network that transmits the non-object oriented instructions from the proxy network device to the target network device to generate information that corresponds to results generated by the object-oriented application.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and objects of the invention will be apparent from the description and drawings, and from the claims.